package com.it.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.it.pojo.Order;
import com.it.pojo.vo.order.AdminOrderVO;
import com.it.pojo.vo.order.OrderInfoVO;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OrderMapper extends BaseMapper<Order> {


    List<AdminOrderVO> listOrders(
            @Param("orderId") Integer orderId,
            @Param("sendStatus") Integer sendStatus,
            @Param("status") Integer status,
            @Param("start") Integer start,
            @Param("limit") Integer limit
    );

    int listOrdersTotal(
            @Param("orderId") Integer orderId,
            @Param("sendStatus") Integer sendStatus,
            @Param("status") Integer status
    );

    /**
     * 查询我的订单的信息
     *
     * @param start
     * @param limit
     * @param startTime
     * @param endTime
     * @return
     */
    List<OrderInfoVO> listOrderInfo(@Param("start") Integer start,
                                    @Param("limit") Integer limit,
                                    @Param("startTime") String startTime,
                                    @Param("endTime") String endTime,
                                    @Param("userId") Integer userId,
                                    @Param("status") Integer status,
                                    @Param("sendStatus") Integer sendStatus

    );

    /**
     * 查询我的订单的信息 数量
     *
     * @param startTime
     * @param endTime
     * @param userId
     * @return
     */
    Integer listOrderInfoTotal(
            @Param("startTime") String startTime,
            @Param("endTime") String endTime,
            @Param("userId") Integer userId,
            @Param("status") Integer status,
            @Param("sendStatus") Integer sendStatus
    );
}
